Quiero implementar una función que pueda ejecutar una función determinada después de un retraso.
Argumentos:
Y este fue mi codigo
let cb = function(x) { console.log(x); }; const doShortly = function(callback, delay, data) { let result = setTimeout(callback(data), delay); return result; }; console.log(doShortly(cb, 500, 'hi'));Recibo TypeError [ERR_INVALID_CALLBACK] cuando ejecuto el código. ¿Puedo saber cómo arreglar esto? TIA.
Puede usar setTimeout o setInterval para eso directamente. Todos los parámetros después del parámetro de retraso se pasarán a la función de devolución de llamada en el mismo orden :)
let cb = function(x) { console.log(x); }; const doShortly = function(callback, delay, data) { let result = setTimeout(callback, delay, data); return result; }; console.log(doShortly(cb, 500, 'hi')); // or: setTimeout(cb, 500, 'hi')